2023/12/231915字符
String
模板字符串
let name = 'bozai', age = 18;
let str = `my name is ${name}, age: ${age}`; // 连接字符串 es6 还规定字符串可随意换行
console.log(str); //--> my name is bozai, age: 18
标记
myTag`my name is ${name}, age: ${age}`;
function myTag (parts, str1, str2) {
console.log(parts); //--> ["my name is ", ", age: ", ""]
console.log(str1, str2); //--> "bozai" 18
}
返回字符串的真实字符长度
'𠮷'.length //--> 2
function getLengthOfCodePoint (str = '') {
let len = 0;
for (let i = 0; i < str.length; i++) {
if (str.codePointAt(i) > 0xffff) {
i ++;
}
len ++;
}
return len;
}
去除空格
let str = ' hello ';
str.trim(); //--> 'hello'
str.trimStart(); //--> 'hello '
str.trimEnd(); //--> ' hello'
补全
'1'.padStart(2, '0'); //--> '01'
'1'.padEnd(2, '0'); //--> '10'
includes() 包括
let str = 'img.png';
es5 查找字符方法
if(str.indexOf('img') !== -1){
console.log(true); //--> true
}else{
console.log(false);
}
es6 查找字符方法
str.includes('img', 0); //--> true
str.search(/\./); //--> 3
navigator.userAgent.includes('Chrome') ? true : false; //--> true 判断浏览器是否是 Chrome
str.startsWith('img', 0); //--> true 判断字符以__开头
str.endsWith('.png'); //--> true 判断字符以__结尾
str.repeat(3); //--> img.pngimg.pngimg.png 重复
'./'.padStart(5, str); //--> img./ 在字符之后添加字符并剪切后面字符
'./'.padEnd(5, str); //--> ./img 在字符之前添加字符并剪切后面字符
ascll 码转换 (ES5)
String.fromCodePoint(102,121,107,106); //--> fykj
'A'.charCodeAt(); //--> 65